package cn.gzsxt.service;

import java.util.List;
import java.util.Map;

import cn.gzsxt.utils.Page;

public interface ModularService {

	/**
	 * 增加模块记录，如果成功返回记录，失败返回null
	 * @param modular
	 * @return
	 */
	Map<String, Object> addModular(Map<String, Object> modular);
	
	/**
	 * 通过编号删除模块
	 * @param modularIds
	 * @return
	 */
	int deleteModularByIds(Object... modularIds);
	
	/**
	 * 更新模块记录
	 * @param modular
	 * @return
	 */
	Map<String, Object> editModular(Map<String, Object> modular);
	
	/**
	 * 查询所有的模块
	 * 
	 * @return
	 */
	List<Map<String, Object>> findAllModular();

	/**
	 * 通过条件查询模块数据，并且分页
	 * 
	 * @param condition
	 *            设置查询的条件
	 * @param index
	 *            数据库下标索引
	 * @param size
	 *            每页记录数据
	 * @return 返回一个分页对象
	 */
	Page findModularByConditionToPage(Map<String, Object> condition, int index, int size);

	/**
	 * 通过模块编号查询一条记录
	 * @param modularId
	 * @return
	 */
	Map<String, Object> findModularById(Object modularId);
	
	/**
	 * 查询所有的模块，模块里面包含对应的权限
	 * @return
	 */
	List<Map<String, Object>> findAllModularIncPermission();

}
